package com.itheima.stock.api;
import com.itheima.stock.entity.StockBusiness;
import com.itheima.stock.response.PageResult;
import com.itheima.stock.response.ResponseResult;
import com.itheima.stock.vo.*;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

import java.io.IOException;
import java.util.List;
/**
 * @author 李智勇
 * @data 2025/10/21 21:13
 */
@RequestMapping(path = "/api/quot")
public interface StockControllerAPI {
    @GetMapping("/stock/updown")
    ResponseResult<StockUpDownVO<InfoVO>> stickUpDown();

    @GetMapping(path = "/stock/tradevol")
    ResponseResult<TradeAmtVO<OptionVO>> tradeAmt();

    @GetMapping(path = "/stock/export")
    ResponseResult<FileDownloadVO> export(@RequestParam("page") int page,
                @RequestParam("pageSize") int pageSize,
                HttpServletResponse response) throws IOException;

    @GetMapping(path = "/stock/updown/count")
    ResponseResult<UpDownVO<OptionVO>> upDown();

    @GetMapping(path = "/stock/all")
    ResponseResult<PageResult<MoreVO>> more(@RequestParam("page") Integer page, @RequestParam("pageSize")Integer pageSize);

    @GetMapping(path = "/stock/increase")
    ResponseResult<List<IncreaseVO>> stockIncrease();

    @GetMapping(path = "/sector/all")
    ResponseResult<List<SectorAllVO>> sectorAll();

    @GetMapping(path = "/index/all")
    ResponseResult<List<InnerMarketVO>> innerIndexAll();

    @GetMapping(path = "/stock/business/all")
    ResponseResult<List<StockBusiness>> getStockBusiness();



}
